<?php

require_once 'Zend/Socket/Holder/Interface.php';

/**
 * @category   Zend
 * @package    Zend_Socket
 * @copyright  Salomon BRYS
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
interface Zend_Socket_Tcp_Connection_Raw_Interface extends Zend_Socket_Holder_Interface
{
	/**
	 * Callback to be called when the client is registered in the select.
	 *
	 * @return void
	 */
	public function onRegister(Zend_Socket_Tcp_Server $server);

	/**
	 * Callback to be called when the client is unregistered in the select.
	 *
	 * @return void
	 */
	public function onUnregister();

	/**
	 * Callback to be called when the client has something to read (the tokenizer has a token ready).
	 *
	 * @return void
	 */
	public function onToken();

	/**
	 * Get the Client tokenizer.
	 * Can be the socket
	 *
	 * @return Zend_Tokenizer_Interface
	 */
	public function Tokenizer();
}
